<?php 
/**
 * 商品模型
 */
class GoodsModel extends Model{
    public $table = 'goods';
	
    /*
	 * 自动完成
	 * */
    public $auto = array(
		array('addtime','time','function',2,1),
		array('aid','_aid','method',2,1),
		array('tid','_tid','method',2,1),
		array('gnumber','_gnumber','method',2,1)
	);
	//得到后台用户aid,在后台存的时候是aid
	public function _aid(){
		return session('aid');
	}
	//得到类型的tid   从分类表里查
	public function _tid(){
		//post提交过来的数据
		$cid=Q('post.cid',0,'intval');
		//查询一条数据
		$data=K('Category')->where("cid={$cid}")->find();
		//返出分类下的tid
		return $data['tid'];
	}
	//货号
	public function _gnumber(){
		//首先要声明这个变量，放一个空的，下面返出来放到这里面
		$num="";
		for ($i=0; $i <10 ; $i++) {
			//给这个连一个随机数 
			$num .=mt_rand(0, 9);
		}
		//返出去的时候加一个
		return $num ."xjn";
	}
	
    /*
	 * 自动验证
	 * */
    public $validate = array(
		array('gname','nonull','商品名称不能为空',2,3),
		array('unit','nonull','单位不能为空',2,3),
		array('marketprice','nonull','市场价不能为空',2,3),
		array('shopprice','nonull','商城价不能为空',2,3),
	);
	
	/*
	 * 添加
	 * */
    
    public function addGoods(){
//  	goods表的自动验证
		if(!$this->create()) return false;
//		goods_detail表的自动验证
		$detail=K('GoodsDetail');
		if(!$detail->create()){
			$this->error=$detail->error;
			return false;
		} 
		//商品表添加  把自增gid返出去
		$gid = $this->add();
		// 第二张表goods_attr添加
		K('GoodsAttr')->addGoodsAttr($gid);
		//第三张表goods_tetail添加
		K('GoodsDetail')->addGoodsDetail($gid);
		
		return true;
    }
	
	/*
	 * 编辑
	 * */
	public function editGoods(){
	    //goods表的自动验证
	    if(!$this->create()) return false;
		//goods_detail表的自动验证
		$detail=K('GoodsDetail');
		if(!$detail->create()){
			$this->error=$detail->error;
			return false;
		}
		//商品表的修改
		$this->update();
		//第二张表goods_tetail商品详情表修改
		$gid=Q('post.gid',0,'intval');
		$detail->editGoodsDetail($gid);
		// 第三张表goods_attr属性表修改
		$goodsAttrModel=K('GoodsAttr');
		//先删除
		$goodsAttrModel->where("gid={$gid}")->delete();
		//再添加
		$goodsAttrModel->addGoodsAttr($gid);
		return true;
		
		
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
 }
 
 
 
 
 
 
 
 
 
 
 























 ?>